1. Field of the Invention
The present disclosure relates to federated computer systems and methods for initializing a federated computer system.
2. Background of the Related Art
A data center is a facility where computer equipment and related infrastructure are consolidated for centralized operation and management. Computer equipment may be interconnected in a datacenter to produce large, powerful computer systems that are capable of storing and processing large amounts of data for entities such as large corporations, web hosting services, and Internet search engines. A data center may house any number of racks, each capable of holding a large number of servers and supporting equipment, such as switches, power supplies, network communications interfaces, environmental controls, and security devices. Servers and supporting equipment are typically housed in rack-mounted, multi-server enclosures (e.g. a multi-blade chassis) and arranged in a high-density configuration. This type of arrangement uses space efficiently while providing physical access to the equipment and enabling the circulation of cool air. As many servers and rack-mounted enclosures as needed may be interconnected to produce a system having the desired performance.
A federated computer system involves multiple nodes interconnected to form a larger computer system. A federated computer system also requires the use of multiple firmware images, with one set of firmware per node. The multiple sets of firmware are responsible for coordinating an initial sequencing of the federated system. In order to properly coordinate this sequencing, the sets of firmware must be compatible or match. Firmware for each server or node in a federated computer system may be periodically flash updated. When a node fails to be updated with its peers, such as through user error or a firmware update process failure, the system may no longer be able to initialize in the federated configuration. The conventional response to such a failure is either to simply stop the initialization and emit an error from all nodes or to initialize each node as an independent system in a non-federated configuration.